using System;
using System.Collections.Generic;
using CosyTrade.Organization;
using CosyTrade.Security;

namespace CosyTrade
{
    public interface ISecuritySystem
    {
        Guid Login(string userName, string password, Guid companyKey);
        Employee GetEmployeeBySession(Guid session);
        void Logout(Guid sessionKey);
        void SayOnline(Guid sessionKey);

        bool CheckUserNameExites(string username, Guid companyKey);
        void CreateRole(Role role);
        void UpdateRole(Role role);
        void DeleteRole(Guid roleKey);
        void UpdatePowerset(PowerSet powerset);

        IList<Role> GetOnlineUser();

        IList<MenuItem> GetRootMenuItems();
        IList<Function> GetMenuFunctions(Guid menuKey);
    }
}